Certain devices may use antialiasing techniques to make the edges of rendered objects appear smoother than the edges would appear in the absence of the technique. For instance, rasterization of an image may include some form of antialiasing in order to remove unwanted aliasing in the display, e.g., jagged or pixelated edges that occur when a shape has a boundary that falls between pixels. Antialiasing smooths out these edges by blending the colors and alphas or transparencies of the pixels around the object to create the illusion of smoothness.
Certain antialiasing techniques are based on sampling. For example, a rasterization system may perform 4×4 (16) supersampling-based antialiasing for each pixel. Such forms of antialiasing may be slower than necessary, depending on the amount of unnecessary sampling. Prior supersampling approaches may also generate images of poor quality by providing less than optimal alpha values, which define the transparency or opacity of the pixel. For example, pixels may require a large number of different possible alpha values, such as 256 alpha levels, in order to provide good antialiasing results. Methods using 4×4 supersampling approaches, however, may only provide 17 (e.g., 16+1) different alpha levels. Moreover, when the edge of a path is close to horizontal or vertical lines, the 4×4 supersampling approach may only generate 5 (e.g., 4+1) different levels of alpha, which may be less than ideal.
At least some approaches for antialiasing are based on signal processing/filtering. Such methods may apply low-pass filters either to the geometry of shapes before rasterizing or to the bitmaps after rasterizing. Although antialiasing by filtering can have acceptable performance in complex 3D scenes, image quality can be problematic when geometric shapes to be outputted for display have sharp angles and lines where low-pass filtering will generate unwanted smooth outputs.